/*
 * RiconoscimentoPorta.h
 */

#ifndef RICONOSCIMENTOPORTA_H_
#define RICONOSCIMENTOPORTA_H_

#include <libfreenect.hpp>
#include <iostream>
#include <vector>
#include <cmath>
#include <math.h>
#include <pthread.h>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
#include <opencv/cxcore.h>
#include <opencv/highgui.h>

#define MIN_AREA_PORTA 5000
/*#define MIN_H_PORTA 93
#define SUP_H_PORTA 133
#define MIN_S_PORTA 56
#define SUP_S_PORTA 145
#define MIN_V_PORTA 5
#define SUP_V_PORTA 121*/
#define MIN_H_PORTA 91
#define SUP_H_PORTA 120
#define MIN_S_PORTA 169
#define SUP_S_PORTA 255
#define MIN_V_PORTA 0
#define SUP_V_PORTA 255
#define AFFIDABILITA 7200

using namespace cv;
using namespace std;

class RiconoscimentoPorta {

public:
    RiconoscimentoPorta();
    ~RiconoscimentoPorta();
    Rect riconoscimento_porta(Mat rgbMat, Mat img_porta_filt2);
	double calcoloProfonditaPorta(Mat rgbMat, Mat depthMat,Rect maxRettangoloPorta,IplImage* img,bool flag);
	double calcoloAngoloPorta(Mat rgbMat,CvPoint centroRettangoloPorta);
private:
	bool flag;
};

#endif
